package C.e.collection;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/**
 * list集合的展示
 */
public class ListDemo {//L<S>l=nL l.a(one)-(one) S(l)
    //Se=lg(2) S(e) f(l.s) S(l.g(i)) I<S>i=l.i w(i.h){S(i.n) f(Ss:l){S(s) }S
    //So=l.s(2,"s") S("l") S(o) Ss=l.r(2) S("l") S(s) l.a(3,"s") S(l)
    public static void main(String[] args) {
        List<String>list=new LinkedList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list.add("one");
        System.out.println("list:"+list);
        String e=list.get(2);
        System.out.println(e);
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        Iterator<String>it=list.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        for(String s:list){
        System.out.println(s); }

        //E set(int index, E e):将给定元素设置到指定位置，返回被替换的元素---一般不接收
        //list.set(2,"six");//将list中下标为2的元素设置为six---常规用法
        String old=list.set(2,"six");//将list中下标为2的元素设置为six，同时将元数据返回old
        System.out.println("list:"+list);
        System.out.println(old);//three

        //E remove(int index):删除指定位置元素，并返回指定位置元素
        //list.remove(2);//删除下标为2的元素---常规用法
        String s=list.remove(2);//删除下标为2的元素，并将被删除元素返回给s
        System.out.println("list:"+list);//[one,two,three,four,five,one]
        System.out.println(s);//six

        /*
        void add(int index,E e):
        将给定元素e添加到index所指定的位置，相当于插入操作
         */
        list.add(3,"seven");//在list下标为3(012)的位置插入seven
        System.out.println(list);//[one, two, four, seven, five, one]

       /* list:[one, two, three, four, five, one]
        three
                one
        two
                three
        four
                five
        one
                one
        two
                three
        four
                five
        one
                one
        two
                three
        four
                five
        one
        list:[one, two, six, four, five, one]
        three
        list:[one, two, four, five, one]
        six
                [one, two, four, seven, five, one]*/











        }
    }

